

#include <cpuid.h>

inline void cpuid(int code, dword *a, dword *d) {
  asm volatile("push %%ebx; cpuid; pop %%ebx":"=a"(*a),"=d"(*d):"0"(code):"ecx");
}

inline int cpuid_string(int code, dword where[4]) {
  int highest;
  asm volatile("push %%ebx; cpuid; movl %%ebx, %%edi; pop %%ebx":"=a"(*where),"=D"(*(where+1)),
               "=c"(*(where+2)),"=d"(*(where+3)):"0"(code));
  return highest;
}

bool test_cpuid(void)
{
	// dont think i need to do this pentium+
	return TRUE;
}
